
// 格式化方法扩展
Date.prototype.format = function(format){
	 var o = {
		 "M+" : this.getMonth()+1, //month
		 "d+" : this.getDate(),    //day
		 "h+" : this.getHours(),   //hour
		 "m+" : this.getMinutes(), //minute
		 "s+" : this.getSeconds(), //second
		 "q+" : Math.floor((this.getMonth()+3)/3),  //quarter
		 "S" : this.getMilliseconds() //millisecond
	 }
	 if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
	 (this.getFullYear()+"").substr(4 - RegExp.$1.length));
	 for(var k in o)if(new RegExp("("+ k +")").test(format))
	 format = format.replace(RegExp.$1,
	 RegExp.$1.length==1 ? o[k] :
	 ("00"+ o[k]).substr((""+ o[k]).length));
	 return format;
}

// 得到指定月份的天数
function getDaysInMonth(year,month){ 
	month = parseInt(month,10)+1; 
	var temp = new Date(year+"/"+month+"/0"); 
	return temp.getDate();
}

// 当月第一天至最后一天两个日期
function getMonthIntervalDay(){
	var dMonthIntervalDay = new Array(2);
	var curDate=new Date();
	// 当月第一天
	curDate.setDate(1);
	dMonthIntervalDay[0] = curDate.format('yyyy-MM-dd');
	// 当月最后一天
	curDate.setDate(getDaysInMonth(curDate.getFullYear(), curDate.getMonth()+1));
	dMonthIntervalDay[1] = curDate.format('yyyy-MM-dd');
	return dMonthIntervalDay;
}

// 上一年当月的第一天 至 当前月的最后一天
function getMonthIntervalLastYear(){
	var dMonthIntervalLastYear = new Array(2);
	// 上一年当月的第一天
	curDate.setFullYear(curDate.getFullYear()-1);
	curDate.setDate(1);
	dMonthIntervalLastYear[0] = curDate.format('yyyy-MM-dd');
	// 当前月的最后一天
	curDate.setFullYear(curDate.getFullYear()+1);
	curDate.setDate(getDaysInMonth(curDate.getFullYear()+1, curDate.getMonth()+1));
	dMonthIntervalLastYear[1] = curDate.format('yyyy-MM-dd');
	return dMonthIntervalLastYear;
}

// 指定月第一天至最后一天两个日期
function getMonthIntervalDay(strDate){
	// 参数格式示例: 2011-06
	var strDates = strDate.split("-");
	var dMonthIntervalDay = new Array(2);
	var curDate=new Date();
	// 指定月第一天
	curDate.setFullYear(strDates[0], strDates[1]-1, 1);
	dMonthIntervalDay[0] = curDate.format('yyyy-MM-dd');
	// 指定月最后一天
	curDate.setDate(getDaysInMonth(curDate.getFullYear(), curDate.getMonth()+1));
	dMonthIntervalDay[1] = curDate.format('yyyy-MM-dd');
	return dMonthIntervalDay;
}

// 指定当年第一天至最后一天两个日期 如:2011
function getYearIntervalDay(strDate){
	var dYearIntervalDay = new Array(2);
	var curDate=new Date();
	// 指定年的第一天
	curDate.setFullYear(strDate, 0, 1); // 年-01-01
	dYearIntervalDay[0] = curDate.format('yyyy-MM-dd');
	// 指定年最后一个月的天数
	var iDay = getDaysInMonth(curDate.getFullYear(), curDate.getMonth()+1);
	curDate.setFullYear(strDate, 11, iDay); // 年-12-最后一个月天数
	dYearIntervalDay[1] = curDate.format('yyyy-MM-dd');
	return dYearIntervalDay;
}
